google.golang.org/protobuf/internal/impl.ExtensionField.lazy (field)

30 uses

	google.golang.org/protobuf/internal/impl (current package)
		codec_extension.go#L87: 	lazy  *lazyExtensionValue
		codec_extension.go#L91: 	if f.lazy == nil {
		codec_extension.go#L92: 		f.lazy = &lazyExtensionValue{xi: xi}
		codec_extension.go#L95: 	f.lazy.xi = xi
		codec_extension.go#L96: 	f.lazy.b = protowire.AppendTag(f.lazy.b, num, wtyp)
		codec_extension.go#L97: 	f.lazy.b = append(f.lazy.b, b...)
		codec_extension.go#L104: 	if f.typ == xt && f.lazy != nil && atomic.LoadUint32(&f.lazy.atomicOnce) == 0 {
		codec_extension.go#L111: 	f.lazy.mu.Lock()
		codec_extension.go#L112: 	defer f.lazy.mu.Unlock()
		codec_extension.go#L113: 	if atomic.LoadUint32(&f.lazy.atomicOnce) == 1 {
		codec_extension.go#L116: 	if f.lazy.xi != nil {
		codec_extension.go#L117: 		b := f.lazy.b
		codec_extension.go#L139: 			val, out, err = f.lazy.xi.funcs.unmarshal(b, val, num, wtyp, lazyUnmarshalOptions)
		codec_extension.go#L145: 		f.lazy.value = val
		codec_extension.go#L147: 		f.lazy.value = f.lazy.fn()
		codec_extension.go#L149: 	f.lazy.xi = nil
		codec_extension.go#L150: 	f.lazy.fn = nil
		codec_extension.go#L151: 	f.lazy.b = nil
		codec_extension.go#L152: 	atomic.StoreUint32(&f.lazy.atomicOnce, 1)
		codec_extension.go#L160: 	f.lazy = nil
		codec_extension.go#L167: 	f.lazy = &lazyExtensionValue{fn: fn}
		codec_extension.go#L173: 	if f.lazy != nil {
		codec_extension.go#L174: 		if atomic.LoadUint32(&f.lazy.atomicOnce) == 0 {
		codec_extension.go#L177: 		return f.lazy.value
		codec_extension.go#L222: 	return f.typ == xt && f.lazy != nil && atomic.LoadUint32(&f.lazy.atomicOnce) == 0